package com.aims.api.entity.query;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 账户查询对象
 *
 * @author Generator
 * @since 2025-10-22
 */
@Data
public class AccountQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 账户ID
     */
    private Long id;

    /**
     * 账户编号
     */
    private String accountNo;

    /**
     * 账户名称（模糊查询）
     */
    private String accountName;

    /**
     * 账户类型：1-普通账户，2-VIP账户，3-企业账户
     */
    private Integer accountType;

    /**
     * 最小余额
     */
    private BigDecimal minBalance;

    /**
     * 最大余额
     */
    private BigDecimal maxBalance;

    /**
     * 状态：0-禁用，1-启用，2-冻结
     */
    private Integer status;

    /**
     * 所有者ID
     */
    private Long ownerId;

    /**
     * 所有者类型：1-个人，2-企业
     */
    private Integer ownerType;

    /**
     * 币种
     */
    private String currency;

    /**
     * 开户开始日期
     */
    private LocalDate openDateStart;

    /**
     * 开户结束日期
     */
    private LocalDate openDateEnd;

    /**
     * 创建开始时间
     */
    private LocalDateTime createTimeStart;

    /**
     * 创建结束时间
     */
    private LocalDateTime createTimeEnd;

    /**
     * 更新开始时间
     */
    private LocalDateTime updateTimeStart;

    /**
     * 更新结束时间
     */
    private LocalDateTime updateTimeEnd;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 排序字段
     */
    private String orderBy;

    /**
     * 排序方向：ASC/DESC
     */
    private String orderDirection;
}